是否可以在同一代码中使用 on_message 和 @client.command?

Is it possible to use on_message and @client.command in the same code?

我正在尝试制作一个不和谐的机器人。但是,我的一些命令必须在过时的 on_message 事件上完成,因为它们在命令扩展名下不起作用。是否需要添加任何代码行才能使命令扩展同时工作。我的意思是我有一些 on_message 事件,当我在代码末尾添加 @client.command 时,@client.command 命令不会响应。

这是我在这里尝试实现的示例代码。

@client.event
async def on_message(message):
    if message.content.startswith('ggg'):
        print('hello')
    elif message.content.startswith('hello')
        print('hello')

@client.command()
async def example():
    print('hello')

显然代码会更发达。那只是一个例子。

当然可以。您唯一需要知道的是 await client.process_commands(message)。在 discord.py docs 您可以阅读有关此问题的信息。

还要检查这个:on_message() 和@bot.command 问题